/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Clases;

/**
 * Esta clase sirve para hacer la paginacion de datos obtenidos de la BD
 * @author Jesus copiado de Jose en PHP jajaja
 */
public class Paginacion {
    
	public int pagina_actual; // pagina actual en la que se esta
	public int por_pagina; // numero total de registros por cada pagina
	public int total_registros; // numero total de registros que hay en base de datos
	
	public Paginacion(int pagina, int por_pagina, int total) {
		this.pagina_actual = pagina;
		this.por_pagina = por_pagina;
		this.total_registros = total;
	}
	
        /**
         * Devuelve el numero total de paginas
         * @return numero total de paginas en entero (int)
         */
	public int total_paginas() {
                int ret = (int) Math.ceil((double)this.total_registros / (double)this.por_pagina);
                return ret;
	}
	
        /**
         * Devuelve la pagina siguiente
         * @return pagina siguiente (int)
         */
	public int pagina_siguiente() {
		return this.pagina_actual+1;	
	}
	
        /**
         * Devuelve la pagina anterior
         * @return pagina anterior (int)
         */
	public int pagina_anterior() {
		return this.pagina_actual-1;	
	}	
	
        
        /**
         * Devuelve si existe una pagina siguiente
         * @return pagina siguiente (boolean)
         */
	public boolean existe_siguiente() {
                boolean ret = false;
		if(this.pagina_actual < this.total_paginas()){
                    ret = true;
                }	
                return ret;
	}
	
        /**
         * Devuelve si existe una pagina anterior 
         * @return pagina anterior (boolean)
         */
	public boolean existe_anterior() {
                boolean ret = false;
		if(this.pagina_actual > 1){
                    ret = true;
                }	
                return ret;
	}	
	
        /**
         * devuelve el numero que debe sacar de la base de datos desde... hasta
         */
	public int offset() {
		int ofset = this.pagina_actual - 1;
		ofset = ofset * this.por_pagina;
		return ofset;
	}
}
